package pannelli;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import com.cloudgarden.layout.AnchorConstraint;
import com.cloudgarden.layout.AnchorLayout;

import database.DB;

import javax.swing.JButton;

import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;


import oggetti.Utente;
import pannelli.main.PannelloUtenti;
import pannelli.sub.SubPannelloUtente;


public class VisualizzaUtente extends javax.swing.JFrame {
	private SubPannelloUtente subPannelloUtente1;
	private JButton rimuovi;
	private JButton modifica;
	private Utente u;

	/**
	* Auto-generated main method to display this JFrame
	 * @param utente 
	*/
		
	public VisualizzaUtente(Utente utente) {
		super();
		this.u=utente;
		initGUI();
		centra();
	}
	public void centra(){
		Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
		setLocation(new Point((dimension.width - getSize().width) / 2, 
				(dimension.height - getSize().height) / 2 ));
	}
	private void initGUI() {
		try {
			AnchorLayout thisLayout = new AnchorLayout();
			getContentPane().setLayout(thisLayout);
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{
				rimuovi = new JButton();
				getContentPane().add(rimuovi, new AnchorConstraint(746, 848, 875, 508, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				rimuovi.setText("Rimuovi Utente");
				rimuovi.setPreferredSize(new java.awt.Dimension(136, 36));
				rimuovi.addActionListener(new ActionListener() {
					
					@Override
					public void actionPerformed(ActionEvent arg0) {
						Utente u = subPannelloUtente1.getUtenteFromFields();
						if(new DB().cancellaUtente(u.getUsername())){
							JOptionPane.showMessageDialog(null,"Utente cancellato con successo!");
							dispose();
							PannelloUtenti.getInstance().initTable();
							PannelloUtenti.getInstance().setFlag(false);
						}else{
							JOptionPane.showMessageDialog(null,"Si e' verificato un errore mentre cancellavo l'utente!");
						}
					}
				});
			}
			{
				modifica = new JButton();
				getContentPane().add(modifica, new AnchorConstraint(746, 403, 875, 91, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				modifica.setText("Salva modifiche");
				modifica.setPreferredSize(new java.awt.Dimension(125, 36));
				modifica.addActionListener(new ActionListener() {
					
					@Override
					public void actionPerformed(ActionEvent arg0) {
						Utente u = subPannelloUtente1.getUtenteFromFields();
						if(new DB().salvaModificheUtente(u)){
							JOptionPane.showMessageDialog(null,"Utente salvato con successo!");
							dispose();
							PannelloUtenti.getInstance().initTable();
							PannelloUtenti.getInstance().setFlag(false);
						}else{
							JOptionPane.showMessageDialog(null,"Errore nel salvataggio dell'utente!");
						}
					}
				});
			}
			{
				subPannelloUtente1 = new SubPannelloUtente();
				getContentPane().add(subPannelloUtente1, new AnchorConstraint(1, 988, 609, 1, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				subPannelloUtente1.setPreferredSize(new java.awt.Dimension(395, 169));
				subPannelloUtente1.fillFields(u);
			}
			pack();
			setSize(400, 300);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}

}
